dojo.require("dijit.form.Button");
dojo.require("dijit.Dialog");
dojo.require("dojo.parser");

function getContainer(node) {
	var body = dojo.body();
	while (node && node != body && !dojo.hasClass(node, "container")) {
		node = node.parentNode;
	}
	if (dojo.hasClass(node, "container")) {
		return node;
	}
	return null;
}

dojo.addOnLoad( function() {

	dojo.query(".container input[type=text]", dojo.byId("topLevel")).onfocus(
			function(evt) {
				dojo.anim(getContainer(evt.target), {
					backgroundColor :"#ddd"
				});
			}).onblur( function(evt) {
		dojo.anim(getContainer(evt.target), {
			backgroundColor :"#fff"
		});
	}).forEach( function(input) {
		input._initialValue = input.value;
	}).onkeyup( function(evt) {
		var input = evt.target;
		if (input.value == input._initialValue) {
			dojo.removeClass(input, "changed");
		} else {
			dojo.addClass(input, "changed");
		}
	});

	dojo.query(".container input[type=password]", dojo.byId("topLevel"))
			.onfocus( function(evt) {
				dojo.anim(getContainer(evt.target), {
					backgroundColor :"#ddd"
				});
			}).onblur( function(evt) {
				dojo.anim(getContainer(evt.target), {
					backgroundColor :"#fff"
				});
			}).forEach( function(input) {
				input._initialValue = input.value;
			}).onkeyup( function(evt) {
				var input = evt.target;
				if (input.value == input._initialValue) {
					dojo.removeClass(input, "changed");
				} else {
					dojo.addClass(input, "changed");
				}
			});
});
